#ifndef PUBLISHER_H
#define PUBLISHER_H

#include <list>
#include "Subscriber.h"

class Publisher
{
public:
	Publisher();
	virtual void publish() = 0;
	void registerSub(Subscriber* sub);
	void removeSub(Subscriber* sub);
private:
	std::list<Subscriber*> subs;
	std::list<Subscriber*>::iterator subIt;
};

#endif /* PUBLISHER_H */
